1. Technical field
The present invention relates to a graphic data file permitting its subtitles to be displayed, and more particularly to a method for generating a file in an improved graphic data file format for displaying words together with accompaniment music, that is, karaoke music, used in, e.g., karaoke parlors. The present invention also relates to a medium for storing a graphic data file generated according to the method and an apparatus for playing such file along with an audio and/or video file independent of the file generated according to the invention.
2. Description of the Prior Art
The most popular graphic data file for use in karaoke parlors for displaying words on a screen is in a CD+G file format so that a singer can sing to the accompaniment of a song while the accompaniment music is played. A conventional CD+G (also referred to as CD−G or CD+Graphics) file format is a file format stored on a compact disk medium, called a CD+G disk. In a typical audio CD, approximately 95% of the storage capacity is used as a main channel for storing music data, and the remaining 5% of the storage capacity is used as a subcode channel for storing data such as control data. The CD+G format is used to store graphic data for displaying words in the subcode channel. The subcode channel is not accessible to a common CD player or CD-ROM drive, but accessible only to devices such as some special CD-RW drivers or dedicated CD+G decoders. When a CD+G disk is played in a general audio CD player, only the music stored in the main channel can be played. In order to enjoy karaoke using CD+G disks, an apparatus with a dedicated CD+G player is required.
However, on such one CD+G disk, only ten to twenty songs and their words can be recorded. Therefore, a user has to search for a CD one by one on which the song he wants to play is recorded and place it on the player in order to play the song he wants among tens to hundreds of songs in his CD+G disk collections. The user also has to buy one complete CD+G disk even though he wants to play just a few songs. Accordingly, there has been a need to purchase only the songs for karaoke the user wants through on-line or extract files from his CD+G collections to store them in a system such as a PC to make a database for the files, so that he can easily select a corresponding song to play in necessary case.
Generally, the data for graphic display stored in a subcode channel of the CD+G disk is stored in a CD+G graphic data format. FIGS. 1 and 2 show schematically the data storage structure and a graphic data format of a conventional CD+G disk. With reference to FIG. 1, a CD (10) such as an audio CD or CD+G, CD-ROM and the like has a lead-in area (LIA) close to the central hole and an outmost lead-out area (LOA). On the program area between the LIA and LOA, data are written in a track type. The data written on the tracks are divided into sectors (12) of 2448 bytes such as Sn, Sn-1, Sn-2, . . . , etc. Each sector (12) is subdivided into a main channel (23) of 2352 bytes and a subcode channel (21) of 96 bytes. In the main channel (23), audio music files are recorded, for example on a CD+G disk. In the subcode channel (21), graphic data files are recorded in a CD+G graphic data format.
The subcode channel (21) consists of four packets (32), (34), (36) and (38) each of 24 bytes, respectively. In each packet, one instruction is recorded. The packets (32), (34), (36) and (38), each consist of command (41) of one byte, instruction (43) of one byte, parity Q (45) of two bytes, operand (47) of 16 bytes, and parity P (49) of four bytes. The command (41) represents whether the current packet has an instruction in the CD+G graphic data format or is empty. Generally, when the value of the command (41) is 0x09, the corresponding packet is considered as an instruction data in the CD+G graphic data format. When the value of the command (41) is not given or negligible, it means that the corresponding packet does not have any graphic data on a CD+G disk. The instruction (43) stores integers representing one of instructions of various types, for example, ‘Memory Preset’, ‘Title Block Normal/Xor’, ‘Color Table Low/High’, ‘Scroll Preset/Copy’, etc., as will be detailed later with reference to FIG. 6. ParityQ (45) and parityP (49) contain data for parity check. The operand data required for executing any instruction shown in the instruction (43) is stored in the operand (47).
FIG. 2 shows a CD+G graphic data format together with the bit structure of a subcode channel. As shown in this figure, each packet of the subcode channel is divided into the portions called P, Q, R, S, T, U, V and W. The portions P and Q contain control data for controlling CD's, and the remaining portions R to W remain empty on a general audio CD. On a CD+G disk, CD+G graphic data files are stored in the channels R to W as shown in FIG. 2.
However, when extracting files in the aforementioned CD+G graphic data format, the space allocated to one instruction is fixed as it is limited on the subcode channel structure of a CD of only 96 bytes. In addition, channels P and Q do not actually contain any graphic data and as such occupy valuable space. This is partly due to the fact that the subcode channel of a CD was originally intended to record control data of an audio CD and thus not originally intended to store graphic data files.
In a CD+G graphic data format, the data processing rate is limited to the data rate of an audio CD, which is 1×. Therefore, the number of instructions that can be processed per second is restricted, so that the display resolution and screen size of graphic data are restricted. Typically with a 1× data processing rate, the data is read at 75 sectors per second from a CD+G disk. One subcode channel exists in each respective sector, and the subcode data stored in the subcode channel is divided into four packets. Each packet can have one instruction for displaying graphic data. Therefore, it is possible to process up to 75×4=300 instructions in a second. The screen specified by the CD+G format is a rectangular shape of 300×216 pixels, and the tile size that is a basic graphic output unit of a CD+G format is 12×6 pixels. For displaying one tile, one instruction is required. Therefore, for displaying the entire screen, at least 700 tiles, or at least 700 CD+G instructions are required, not counting the border near the screen edge. Consequently, in order to represent the graphic data that occupy the whole screen of 300×216 pixels in the CD+G format, at least 700 instructions must be processed. This processing takes at least two seconds as only 300 instructions can be processed per second Therefore, when displaying graphic data in the CD+G format, even longer processing time is required for representing larger screens or screens of higher resolutions. This makes it almost impossible to improve a screen for displaying words or lyrics of music with subtitles.
Typical karaoke files are integrated into one file. For example, karaoke files into which conventional, e.g., ‘midi’ files are converted are in the form that the data corresponding to accompaniment music and the data corresponding to the graphic of words are integrated into one file. Accordingly, for such karaoke file format, it is impossible to add words or other description to be displayed into conventional music files, such as music files in which singer's voice is recorded. Furthermore, once a file is created in the above karaoke dedicated file format, there also arises a problem that the lyrics cannot be changed or additional lyrics cannot be added, such as lyrics in additional languages.